#include "FullweightingRes.h"
#include "InjectionRes.h"
#include "RestrictionOperatorFactory.h"

namespace {
	template <size_t DIM>
		RestrictionOperator<DIM>* CreateFW() {
			return new FullweightingRes<DIM>();
		}
	#define DIM 1
	const bool register_FW_1 = RestrictionOperatorFactory<DIM>::Instance()->RegisterOperator("Fullweighting",
																						     CreateFW);
	#undef DIM

	#define DIM 2
	const bool register_FW_2 = RestrictionOperatorFactory<DIM>::Instance()->RegisterOperator("Fullweighting",
																						     CreateFW);
	#undef DIM
	template <size_t DIM>
		RestrictionOperator<DIM>* CreateIn() {
			return new InjectionRes<DIM>();
		}
	#define DIM 1
	const bool register_In_1 = RestrictionOperatorFactory<DIM>::Instance()->RegisterOperator("Injection",
																						     CreateIn);
	#undef DIM

	#define DIM 2
	const bool register_In_2 = RestrictionOperatorFactory<DIM>::Instance()->RegisterOperator("Injection",
																						     CreateIn);
	#undef DIM
}
